草庐IT

c++ - Python GIL 和线程

全部标签

C: 如何获取Windows目录下的文件列表?

我正在尝试根据RFC959标准用C(学校作业)实现FTP服务器。我在使用LIST命令时遇到问题。RFC中写道:“这个命令导致一个列表从服务器发送到被动排版。如果路径名指定目录或其他文件组,服务器应传输文件列表在指定的目录中。如果路径名指定一个文件然后服务器应该发送当前信息文件。空参数表示用户当前的工作或默认目录。”我知道有GetCurrentDirectory等函数。是否有函数可以在MS-DOS命令提示符下获取诸如'dir'的输出?任何类似的东西都会有所帮助。提前致谢! 最佳答案 FindFirstFile&FindNextFile

在 Linux 和 Windows 中具有包含和排他性的 C++ 多线程函数

Linux我有两个函数:functionA和functionB这两个函数可以多线程运行,即:一次最多可以运行一个functionA一次可以运行多个functionBfunctionA和functionB是互斥的,即如果正在执行functionA然后functionB必须等到functionA完成,并且如果有functionB的任何实例正在执行,那么functionA必须等到functionB的allinstances完成。你能告诉我如何在Linux中使用pthread实现这个吗?我试了很多方法,但似乎不够清楚。Windows我如何使用C++在Windows中完成同样的事情?

c - 波特率串行窗口端口

我编写了这个程序来探测windows串口。我把串口波特率设置为115200bps。当我运行这个程序时,耗时是1250毫秒,所以,波特率只能达到102400bps。我也用类似的程序检查接收波特率,波特率是一样的。程序如下:char*message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";intnumBytes=144;c0=clock()

c - GetFileSizeEx 文件映射失败

我在创建命名共享内存和检查其大小时遇到​​问题。当我在这样的函数中调用它时,函数GetFileSizeEx失败。关于如何调试这个的任何想法?voidtest_getsize(constchar*lpName,intsize){HANDLEhandle=CreateFileMapping(INVALID_HANDLE_VALUE,//usepagingfileNULL,//defaultsecurityPAGE_READWRITE,//read/writeaccess0,//maximumobjectsize(high-orderDWORD)size,//maximumobjectsiz

内核函数可以有不同的虚拟地址吗

这更像是一个知识问题,而不是实际实现。我想知道系统启动后是否有任何内核函数可以具有不同的虚拟地址。我对可执行文件编译的理解是为其二进制文件分配虚拟地址,但虚拟地址到物理地址是在运行时由操作系统完成的。(分页。我知道那东西。所以,不需要2解释)但是对于内核函数,每次重新启动系统时我都会看到它们具有不同的虚拟地址。1、内核函数在地址范围内是如何映射的?2.能否在运行时将它们映射到不同的虚拟地址。(不知道怎么可能)3.dll的地址映射是怎样的?它们是在编译时被赋予虚拟地址还是在运行时被赋予相对地址?(我认为这就是它完成的方式。)4.有什么方法可以找到是否有任何内核虚拟地址被固定到物理内存。谢

c++ - 惰性初始化缓存...如何使其成为线程安全的?

这就是我所拥有的:Windows服务C#多线程服务使用读写锁(一次多次读取,写入会阻塞其他读/写线程)一个简单的、自写的数据库C++足够小以适合内存足够大,不想在启动时加载它(例如10GB)读取性能非常重要写作不太重要树状结构树节点中的信息存储在文件中为了更快的性能,文件仅在第一次使用和缓存时加载延迟初始化以加快数据库启动速度由于数据库会非常频繁地访问这些节点信息(每秒几千次),而且我不经常写,所以我想使用某种双重检查锁定模式。我知道这里有很多关于双重检查锁定模式的问题,但似乎有很多不同的意见,所以我不知道什么是最适合我的情况。你会用我的设置做什么?这是一个例子:一棵有100万个节点的

c - 未知类型名称 'uint32_t' , MinGW

我收到错误unknowntypename'uint32_t'并包含stdint.h。uint8_t不会产生错误,uint16_t也不会。我正在使用MinGW和以下make-lines:#BuildforWindowsunderMinGW#MINGWDBG=-DDEBUG-O0MINGWDBG=-DNDEBUG-Os#MINGWOPT=-W-Wall-mthreads-Wl,--subsystem,console$(MINGWDBG)-DHAVE_STDINTMINGWOPT=-W-Wall-mthreads-Wl,--subsystem,windows$(MINGWDBG)mingw:

c++ - 如何在 Windows 上编译 libevent2?

我正在尝试编译thislibevent2package到Windows,但目前我不能,因为配置脚本是一个shell脚本(/bin/sh;不能在Windows中运行)。有什么方法可以编译它或获得预编译包吗?我目前安装了MinGW、CMake和MSC++。编辑:我已经成功地使用nmakeMakefile.nmake编译了libevent2,但它没有生成任何Windows二进制文件/库。只有.lib。makefile如下——#WATCHOUT!Thismakefileisaworkinprogress.Itisprobablymissing#tonsofimportantthings.DON

c - 在 Wininet 中使用 SSL

有人可以举例说明如何将SSL与wininetAPI一起使用吗?这是我的代码,但没有成功......DWORDdwFlags=INTERNET_FLAG_SECURE|INTERNET_FLAG_IGNORE_CERT_CN_INVALID|SECURITY_FLAG_IGNORE_UNKNOWN_CA|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_PRAGMA_NOCACHE|INTERNET_FLAG_NO_CACHE_WRITE;hOpen=InternetOp

c - 如何在 Windows 控制台中禁用 echo?

如何在Windows控制台C应用程序中禁用回显?我真的不想使用_getch(我仍然希望Ctrl-C)捕获字符。除了_getch似乎只为cmd禁用回显,但在cygwin中没有。必须有一种方法可以重定向管道或修改控制台设置。 最佳答案 也许SetConsoleMode(从codeguru偷来的):#include#include#includeintmain(){HANDLEhStdin=GetStdHandle(STD_INPUT_HANDLE);DWORDmode=0;GetConsoleMode(hStdin,&mode);Set